package jwj8508.swing.jdbc;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.plaf.FontUIResource;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
import javax.swing.UIManager;

import java.awt.Font;
import java.awt.Toolkit;
import java.util.Enumeration;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;

// 메뉴 
// - 파일 (F) -> 새 성적...(N) | 종료 (X)
// - 보기 (V) -> 전체 성적 보기 (L)
// - 도움말 (H) -> 도움말 항목 (H) | 프로그램 정보 (A)

public class J26_SungJukMainFrame extends JFrame {

	private JPanel contentPane;
	private static J26_SungJukMainFrame frame;
	// JDialog에서 부모 객체로 지정하기 쉽도록 frame을 전역변수로 선언

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					frame = new J26_SungJukMainFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public J26_SungJukMainFrame() {
		setTitle("성적 처리 프로젝트 v0.1");
		setIconImage(Toolkit.getDefaultToolkit().getImage(J26_SungJukMainFrame.class.getResource("/img/toolbar/user.png")));
		setUIFont(new FontUIResource("굴림", Font.PLAIN, 12));
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(800, 600);
		setLocationRelativeTo(null);
		setResizable(false);
		
		J26_SungJukMenu sjMenu = new J26_SungJukMenu(frame);
		setJMenuBar(sjMenu);
		
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JLabel logo = new JLabel("");
		logo.setHorizontalAlignment(SwingConstants.CENTER);
		logo.setIcon(new ImageIcon(J26_SungJukMainFrame.class.getResource("/img/s.jpg")));
		contentPane.add(logo, BorderLayout.CENTER);
	}
	
	private void setUIFont(FontUIResource fuir) {
		Enumeration<Object> keys = UIManager.getDefaults().keys();
		// 모든 스윙 컴퍼넌트 이름을 keys에 저장		
		while(keys.hasMoreElements()){
			Object key = keys.nextElement();
			Object val = UIManager.get(key);
			// 컴퍼넌트의 속성과 속성값을 읽어옴 
			if (val != null && val instanceof FontUIResource){
				// 속성이 폰트와 관련있으면
				// 사용자가 지정한 글꼴로 변경
				UIManager.put(key, fuir);
			}
		}
	}

}
